A computer network is a collection of interconnected computing devices that exchange data and share resources. In a packet-based network, such as the Internet, the computing devices communicate data by dividing the data into small blocks called packets. The packets are individually routed across the network from a source device to a destination device. The destination device extracts the data from the packets and assembles the data into its original form. Dividing the data into packets enables the source device to resend only those individual packets that may be lost during transmission.
Packet-based computer networks increasingly utilize label switching protocols for traffic engineering and other purposes. Multi-Protocol Label Switching (MPLS) is a mechanism used to engineer traffic patterns within Internet Protocol (IP) networks. MPLS may be viewed as a protocol that allows packet-based networks to emulate certain properties of a circuit-switched network. By utilizing MPLS, a source device can request a path through a network to a destination device, i.e., a Label Switched Path (LSP). An LSP defines a distinct path through the network to carry MPLS packets from the source device to a destination device. Each router along an LSP allocates a label and propagates the label to the closest upstream router along the path for use in forwarding MPLS packets along the path. Routers along the path cooperatively perform MPLS operations to forward the MPLS packets along the established path.
Routers that originate the LSP are commonly known as ingress routers, while routers that terminate an LSP are commonly known as egress routers. Ingress and egress routers are more generally referred to as label edge routers (LERs). Internal routers along the LSP or other routers that support MPLS services are commonly referred to as label switching routers (LSRs). A set of packets to be forwarded along the LSP is typically referred to as a forwarding equivalence class (FEC). A FEC, for example, may specify any packets associated with a particular destination address or prefix, as well as, define quality of service (QoS) characteristics for the set of packets. A plurality of FECs may exist for each LSP, but there may be only one LSP for any given FEC. The LSRs utilize MPLS protocols to receive MPLS label mappings from downstream LSRs and to advertise MPLS label mappings to upstream LSRs. The ingress LER uses routing information, propagated from the next downstream LSR to determine the LSP, to assign labels for the LSP, and to affix a label to each packet of the FEC when forwarding the packet, thereby forming an MPLS packet and admitting the packet to the LSP. When an intermediate LSR along an LSR receives an MPLS packet from an upstream router, it switches the MPLS label according to the information in its forwarding table and label space, and forwards the packet to the appropriate downstream LSR or LER along the LSPR. The next router along the LSP is commonly referred to as a downstream router or a next hop. The egress LER removes the label from the packet and forwards the packet to its destination in accordance with standard routing protocols.
Often, LERs may establish one LSP through the network and then remove the first LSP and establish a second different LSP through the network. In this respect, LSPs may be considered transient, and the LERs and LSRs may continually advertise changes to their respective label mappings to represent the changing configuration of LSPs. The labels assigned for each LSP may too be considered transient, as the LERs and LSRs, in response to the label advertisements, may assign or reassign labels to different FECs. In this manner, LERs and LSRs may quickly reconfigure LSPs (and as a result label mappings) to address particular forwarding requirements of a particular class of packet or FECs.
Yet, the transient nature of labels may limit the use of labels as a static handle by which to identify packets associated with a particular context, as the context in which a given label may be employed may continually change. For example, a label, at one point in time, may be associated with a first FEC, and therefore a first LSP, that identifies packets destined for a particular destination, e.g., Virtual Private Network (VPN) site. At a second point in time, the same label may be associated with a second FEC different from the first FEC that identifies packets destined for a completely different destination, e.g., a Virtual Private Large Area Network (LAN) Service (VPLS) site. Moreover, as labels are locally allocated and advertised upstream by each LSR, the exact contextually meaning of any given label may be difficult to determine by other network devices. As a result, labels, while they may facilitate forwarding in a variety of contexts, may not provide an adequate handle by which to identify packets associated with a particular context.